"""
两个产品(两种类型的书)
"""
import abc
class AbstractClass(metaclass=abc.ABCMeta):    
    def cookProcess(self):
        self.pourOil()
        self.heatOil()
        self.pourVegetable()
        self.pourSauce()
        self.fry()        
    def pourOil(self):
        print('倒油')
        pass        
    def heatOil(self):
        print('热油')
        pass
    #第三步：倒蔬菜是不一样的（一个下包菜，一个是下菜心）
    @abc.abstractmethod
    def pourVegetable(self):
        pass
    #//第四步：倒调味料是不一样   
    @abc.abstractmethod
    def pourSauce(self):
        pass
    #第五步：翻炒是一样的，所以直接实现
    def fry(self):
        print('翻炒 翻炒 翻炒 翻炒')
        pass
    
#炒包菜
class ConcreteClass_BaoCai(AbstractClass):
    def pourVegetable(self):
        print('下锅的蔬菜是包菜')
        pass
    def pourSauce(self):
        print('下锅的酱料是辣椒')
        pass
    
#炒菜心    
class ConcreteClass_CaiXin(AbstractClass):
    def pourVegetable(self):
        print('下锅的蔬菜是菜心')
        pass
    
    def pourSauce(self):
        print('下锅的酱料是蒜蓉')
        pass
if __name__ == '__main__':
    c1=ConcreteClass_BaoCai()
    c1.cookProcess()
    print('**********************************')
    c2=ConcreteClass_CaiXin()
    c2.cookProcess()
    pass